package com.jingdianjichi.subject.application.dto;

import com.jingdianjichi.subject.common.entity.PageInfo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 题目的DTO
 */
@Data
public class SubjectInfoDTO extends PageInfo implements Serializable {
    /**
     * 主键
     */
    private Long id;

    /**
     * 题目名称
     */
    private String subjectName;

    /**
     * 题目难度
     */
    private Integer subjectDifficult;

    /**
     * 出题人名
     */
    private String settleName;

    /**
     * 题目类型 1单选 2多选 3判断 4简答
     */
    private Integer subjectType;

    /**
     * 题目分数
     */
    private Integer subjectScore;

    /**
     * 题目解析
     */
    private String subjectParse;

    /**
     * 题目答案,给简答题用的
     */
    private String subjectAnswer;

    /**
     * 分类列表
     */
    private List<Integer> categoryIds;

    /**
     * 标签列表
     */
    private List<Integer> labelIds;

    /**
     * 标签name
     */
    private List<String> labelName;

    /**
     * 答案选项
     */
    private List<SubjectAnswerDTO> optionList;


    /**
     * 扩展的属性DTO是非常方便的
     */
    //分类id
    private Long categoryId;

    //标签id
    private Long labelId;

    /**
     * 关键词,用户在搜索框输入的
     */
    private String keyWord;

    /**
     * 用户
     */
    private String createUser;

    /**
     * 用户的头像
     */
    private String createUserAvatar;

    /**
     * 用户贡献的题目数量
     */
    private Integer subjectCount;


    /**
     * 是否当前用户被点赞,这样前端展示的不同,
     */
    private Boolean liked;

    /**
     * 当前题目的点赞数量
     */
    private Integer likedCount;

    /**
     * 下一题的id
     */
    private Long nextSubjectId;

    /**
     * 上一题的id,便于我们去做快速刷题
     */
    private Long lastSubjectId;
}

